package com.lsa.letcode.the118.pascalTriangle;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Solution {
    public List<List<Integer>> generate(int n) {
    	List<List<Integer>> res = new ArrayList<List<Integer>>();
    	if (n < 1) {
    		return res;
    	}
    	res.add(Arrays.asList(1));
    	for (int r = 1; r < n; r++) {
			List<Integer> prevRow = res.get(r - 1);
			int size = prevRow.size() + 1;
			List<Integer> row = new ArrayList<Integer>();
			for (int i = 0; i < size; i++) {
				if (i == 0 || i == size - 1) {
					row.add(1);
				}
				else {
					row.add(prevRow.get(i - 1) + prevRow.get(i)); 
				}
			}
			res.add(row);
		}
        return res;
    }
}